Video coding/decoding systems often exploit spatial and/or temporal redundancy in video data to compress video data for transport over a bandwidth-limited channel. Frames of a source video sequence often are parsed into pixel blocks, spatial arrays of image content, and coded predictively with reference to other coded video data. For example, to exploit temporal redundancy in video data, a video coder may search among data of locally stored reconstructed reference frames to identify prediction matches. When a match is found, the encoder may identify a portion of the reference frame that serves as a prediction match and, depending on the quality of the match, may code data representing differences between the source pixel block and the matching pixel block from the reference frame. To exploit spatial redundancy in video data, a video coder may predict content of a source pixel block using neighboring pixel blocks as prediction sources. Thereafter, the encoder may code data representing differences between the source pixel block and the prediction reference within the current frame. A video encoder, therefore, outputs a data stream of coded video data that has a smaller data rate than the source video sequence.
Notwithstanding the efficiencies achieved by such operations, video coding/decoding systems have their drawbacks. Typically, the coding/decoding process introduces data loss and, therefore, data recovered by a decoder typically replicates the source video sequence but involves loss of information. Thus, image quality can suffer. Additionally, the coding/decoding process can introduce coding artifacts based on the pixel block-based coding operations; when reconstructed pixel blocks are assembled into frames, content discontinuities can arise at seams between pixel blocks, which may be noticeable to viewers. Further, high variance regions of image data, particularly during slow panning operations, can exhibit shimmering artifacts when decoded and rendered, which may be induced by incorrect estimations of motion and/or prediction.
FIG. 1 illustrates a scenario in which a shimmering effect might arise. FIG. 1 represents three exemplary frames of a video data captured during a panning operation. A panning operation may occur when a camera operator sweeps a camera through a predetermined path at consistent speed. Thus, image content within each frame may drift in a direction opposite to the direction of the camera pan unless motion of objects within the camera's field of view contradicts the panning operation.
FIG. 1 illustrates three objects within the field of view—a person and trees in the background. The background trees may represent high variance image content because leaves, branches, etc. contribute to relatively complex content. A shimmering artifact may arise when points of registration among the trees—reflections of light from leaves or shadows from between leaves—do not register with each other as the image content drifts within the field of view. The shimmering artifacts can be exacerbated as a result of not correcting rolling shutter artifacts.